`ifndef RAL_SYS_CFG
`define RAL_SYS_CFG

import uvm_pkg::*;

class ral_reg_REG_PRJ_sys_cfg_base_config extends uvm_reg;
	rand uvm_reg_field mode;
	rand uvm_reg_field kernel_size;
	rand uvm_reg_field stride;

	function new(string name = "REG_PRJ_sys_cfg_base_config");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.mode = uvm_reg_field::type_id::create("mode",,get_full_name());
      this.mode.configure(this, 2, 0, "RW", 1, 2'h0, 1, 0, 0);
      this.kernel_size = uvm_reg_field::type_id::create("kernel_size",,get_full_name());
      this.kernel_size.configure(this, 20, 2, "RW", 1, 20'hab, 1, 0, 0);
      this.stride = uvm_reg_field::type_id::create("stride",,get_full_name());
      this.stride.configure(this, 3, 22, "RW", 1, 3'h1, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_base_config)

endclass : ral_reg_REG_PRJ_sys_cfg_base_config


class ral_reg_REG_PRJ_sys_cfg_cfg_info0 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info0");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info0)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info0


class ral_reg_REG_PRJ_sys_cfg_cfg_info1 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info1");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info1)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info1


class ral_reg_REG_PRJ_sys_cfg_cfg_info2 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info2");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info2)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info2


class ral_reg_REG_PRJ_sys_cfg_cfg_info3 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info3");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info3)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info3


class ral_reg_REG_PRJ_sys_cfg_cfg_info4 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info4");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info4)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info4


class ral_reg_REG_PRJ_sys_cfg_cfg_info5 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info5");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info5)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info5


class ral_reg_REG_PRJ_sys_cfg_cfg_info6 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info6");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info6)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info6


class ral_reg_REG_PRJ_sys_cfg_cfg_info7 extends uvm_reg;
	rand uvm_reg_field layer_field0;
	rand uvm_reg_field layer_field1;
	rand uvm_reg_field layer_field2;
	rand uvm_reg_field layer_field3;
	rand uvm_reg_field layer_field4;
	rand uvm_reg_field layer_field5;

	function new(string name = "REG_PRJ_sys_cfg_cfg_info7");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.layer_field0 = uvm_reg_field::type_id::create("layer_field0",,get_full_name());
      this.layer_field0.configure(this, 3, 0, "RW", 1, 3'h1, 1, 0, 0);
      this.layer_field1 = uvm_reg_field::type_id::create("layer_field1",,get_full_name());
      this.layer_field1.configure(this, 3, 3, "RW", 1, 3'h2, 1, 0, 0);
      this.layer_field2 = uvm_reg_field::type_id::create("layer_field2",,get_full_name());
      this.layer_field2.configure(this, 3, 6, "RW", 1, 3'h3, 1, 0, 0);
      this.layer_field3 = uvm_reg_field::type_id::create("layer_field3",,get_full_name());
      this.layer_field3.configure(this, 3, 9, "RW", 1, 3'h4, 1, 0, 0);
      this.layer_field4 = uvm_reg_field::type_id::create("layer_field4",,get_full_name());
      this.layer_field4.configure(this, 3, 12, "RW", 1, 3'h5, 1, 0, 0);
      this.layer_field5 = uvm_reg_field::type_id::create("layer_field5",,get_full_name());
      this.layer_field5.configure(this, 3, 15, "RW", 1, 3'h6, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cfg_info7)

endclass : ral_reg_REG_PRJ_sys_cfg_cfg_info7


class ral_reg_REG_PRJ_sys_cfg_cal_config extends uvm_reg;
	rand uvm_reg_field cal_mode;
	rand uvm_reg_field cal_round;
	rand uvm_reg_field cvt_mode;

	function new(string name = "REG_PRJ_sys_cfg_cal_config");
		super.new(name, 32,build_coverage(UVM_NO_COVERAGE));
	endfunction: new
   virtual function void build();
      this.cal_mode = uvm_reg_field::type_id::create("cal_mode",,get_full_name());
      this.cal_mode.configure(this, 3, 0, "RW", 1, 3'h6, 1, 0, 0);
      this.cal_round = uvm_reg_field::type_id::create("cal_round",,get_full_name());
      this.cal_round.configure(this, 3, 3, "RW", 1, 3'h0, 1, 0, 0);
      this.cvt_mode = uvm_reg_field::type_id::create("cvt_mode",,get_full_name());
      this.cvt_mode.configure(this, 3, 6, "RW", 1, 3'h0, 1, 0, 0);
   endfunction: build

	`uvm_object_utils(ral_reg_REG_PRJ_sys_cfg_cal_config)

endclass : ral_reg_REG_PRJ_sys_cfg_cal_config


class ral_block_REG_PRJ_sys_cfg extends uvm_reg_block;
	rand ral_reg_REG_PRJ_sys_cfg_base_config base_config;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info0 cfg_info0;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info1 cfg_info1;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info2 cfg_info2;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info3 cfg_info3;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info4 cfg_info4;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info5 cfg_info5;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info6 cfg_info6;
	rand ral_reg_REG_PRJ_sys_cfg_cfg_info7 cfg_info7;
	rand ral_reg_REG_PRJ_sys_cfg_cal_config cal_config;
	rand uvm_reg_field base_config_mode;
	rand uvm_reg_field mode;
	rand uvm_reg_field base_config_kernel_size;
	rand uvm_reg_field kernel_size;
	rand uvm_reg_field base_config_stride;
	rand uvm_reg_field stride;
	rand uvm_reg_field cfg_info0_layer_field0;
	rand uvm_reg_field cfg_info0_layer_field1;
	rand uvm_reg_field cfg_info0_layer_field2;
	rand uvm_reg_field cfg_info0_layer_field3;
	rand uvm_reg_field cfg_info0_layer_field4;
	rand uvm_reg_field cfg_info0_layer_field5;
	rand uvm_reg_field cfg_info1_layer_field0;
	rand uvm_reg_field cfg_info1_layer_field1;
	rand uvm_reg_field cfg_info1_layer_field2;
	rand uvm_reg_field cfg_info1_layer_field3;
	rand uvm_reg_field cfg_info1_layer_field4;
	rand uvm_reg_field cfg_info1_layer_field5;
	rand uvm_reg_field cfg_info2_layer_field0;
	rand uvm_reg_field cfg_info2_layer_field1;
	rand uvm_reg_field cfg_info2_layer_field2;
	rand uvm_reg_field cfg_info2_layer_field3;
	rand uvm_reg_field cfg_info2_layer_field4;
	rand uvm_reg_field cfg_info2_layer_field5;
	rand uvm_reg_field cfg_info3_layer_field0;
	rand uvm_reg_field cfg_info3_layer_field1;
	rand uvm_reg_field cfg_info3_layer_field2;
	rand uvm_reg_field cfg_info3_layer_field3;
	rand uvm_reg_field cfg_info3_layer_field4;
	rand uvm_reg_field cfg_info3_layer_field5;
	rand uvm_reg_field cfg_info4_layer_field0;
	rand uvm_reg_field cfg_info4_layer_field1;
	rand uvm_reg_field cfg_info4_layer_field2;
	rand uvm_reg_field cfg_info4_layer_field3;
	rand uvm_reg_field cfg_info4_layer_field4;
	rand uvm_reg_field cfg_info4_layer_field5;
	rand uvm_reg_field cfg_info5_layer_field0;
	rand uvm_reg_field cfg_info5_layer_field1;
	rand uvm_reg_field cfg_info5_layer_field2;
	rand uvm_reg_field cfg_info5_layer_field3;
	rand uvm_reg_field cfg_info5_layer_field4;
	rand uvm_reg_field cfg_info5_layer_field5;
	rand uvm_reg_field cfg_info6_layer_field0;
	rand uvm_reg_field cfg_info6_layer_field1;
	rand uvm_reg_field cfg_info6_layer_field2;
	rand uvm_reg_field cfg_info6_layer_field3;
	rand uvm_reg_field cfg_info6_layer_field4;
	rand uvm_reg_field cfg_info6_layer_field5;
	rand uvm_reg_field cfg_info7_layer_field0;
	rand uvm_reg_field cfg_info7_layer_field1;
	rand uvm_reg_field cfg_info7_layer_field2;
	rand uvm_reg_field cfg_info7_layer_field3;
	rand uvm_reg_field cfg_info7_layer_field4;
	rand uvm_reg_field cfg_info7_layer_field5;
	rand uvm_reg_field cal_config_cal_mode;
	rand uvm_reg_field cal_mode;
	rand uvm_reg_field cal_config_cal_round;
	rand uvm_reg_field cal_round;
	rand uvm_reg_field cal_config_cvt_mode;
	rand uvm_reg_field cvt_mode;

	function new(string name = "REG_PRJ_sys_cfg");
		super.new(name, build_coverage(UVM_NO_COVERAGE));
	endfunction: new

   virtual function void build();
      this.default_map = create_map("", 0, 4, UVM_LITTLE_ENDIAN, 0);
      this.base_config = ral_reg_REG_PRJ_sys_cfg_base_config::type_id::create("base_config",,get_full_name());
      this.base_config.configure(this, null, "");
      this.base_config.build();
      this.default_map.add_reg(this.base_config, `UVM_REG_ADDR_WIDTH'h0, "RW", 0);
		this.base_config_mode = this.base_config.mode;
		this.mode = this.base_config.mode;
		this.base_config_kernel_size = this.base_config.kernel_size;
		this.kernel_size = this.base_config.kernel_size;
		this.base_config_stride = this.base_config.stride;
		this.stride = this.base_config.stride;
      this.cfg_info0 = ral_reg_REG_PRJ_sys_cfg_cfg_info0::type_id::create("cfg_info0",,get_full_name());
      this.cfg_info0.configure(this, null, "");
      this.cfg_info0.build();
      this.default_map.add_reg(this.cfg_info0, `UVM_REG_ADDR_WIDTH'h4, "RW", 0);
		this.cfg_info0_layer_field0 = this.cfg_info0.layer_field0;
		this.cfg_info0_layer_field1 = this.cfg_info0.layer_field1;
		this.cfg_info0_layer_field2 = this.cfg_info0.layer_field2;
		this.cfg_info0_layer_field3 = this.cfg_info0.layer_field3;
		this.cfg_info0_layer_field4 = this.cfg_info0.layer_field4;
		this.cfg_info0_layer_field5 = this.cfg_info0.layer_field5;
      this.cfg_info1 = ral_reg_REG_PRJ_sys_cfg_cfg_info1::type_id::create("cfg_info1",,get_full_name());
      this.cfg_info1.configure(this, null, "");
      this.cfg_info1.build();
      this.default_map.add_reg(this.cfg_info1, `UVM_REG_ADDR_WIDTH'h8, "RW", 0);
		this.cfg_info1_layer_field0 = this.cfg_info1.layer_field0;
		this.cfg_info1_layer_field1 = this.cfg_info1.layer_field1;
		this.cfg_info1_layer_field2 = this.cfg_info1.layer_field2;
		this.cfg_info1_layer_field3 = this.cfg_info1.layer_field3;
		this.cfg_info1_layer_field4 = this.cfg_info1.layer_field4;
		this.cfg_info1_layer_field5 = this.cfg_info1.layer_field5;
      this.cfg_info2 = ral_reg_REG_PRJ_sys_cfg_cfg_info2::type_id::create("cfg_info2",,get_full_name());
      this.cfg_info2.configure(this, null, "");
      this.cfg_info2.build();
      this.default_map.add_reg(this.cfg_info2, `UVM_REG_ADDR_WIDTH'hC, "RW", 0);
		this.cfg_info2_layer_field0 = this.cfg_info2.layer_field0;
		this.cfg_info2_layer_field1 = this.cfg_info2.layer_field1;
		this.cfg_info2_layer_field2 = this.cfg_info2.layer_field2;
		this.cfg_info2_layer_field3 = this.cfg_info2.layer_field3;
		this.cfg_info2_layer_field4 = this.cfg_info2.layer_field4;
		this.cfg_info2_layer_field5 = this.cfg_info2.layer_field5;
      this.cfg_info3 = ral_reg_REG_PRJ_sys_cfg_cfg_info3::type_id::create("cfg_info3",,get_full_name());
      this.cfg_info3.configure(this, null, "");
      this.cfg_info3.build();
      this.default_map.add_reg(this.cfg_info3, `UVM_REG_ADDR_WIDTH'h10, "RW", 0);
		this.cfg_info3_layer_field0 = this.cfg_info3.layer_field0;
		this.cfg_info3_layer_field1 = this.cfg_info3.layer_field1;
		this.cfg_info3_layer_field2 = this.cfg_info3.layer_field2;
		this.cfg_info3_layer_field3 = this.cfg_info3.layer_field3;
		this.cfg_info3_layer_field4 = this.cfg_info3.layer_field4;
		this.cfg_info3_layer_field5 = this.cfg_info3.layer_field5;
      this.cfg_info4 = ral_reg_REG_PRJ_sys_cfg_cfg_info4::type_id::create("cfg_info4",,get_full_name());
      this.cfg_info4.configure(this, null, "");
      this.cfg_info4.build();
      this.default_map.add_reg(this.cfg_info4, `UVM_REG_ADDR_WIDTH'h14, "RW", 0);
		this.cfg_info4_layer_field0 = this.cfg_info4.layer_field0;
		this.cfg_info4_layer_field1 = this.cfg_info4.layer_field1;
		this.cfg_info4_layer_field2 = this.cfg_info4.layer_field2;
		this.cfg_info4_layer_field3 = this.cfg_info4.layer_field3;
		this.cfg_info4_layer_field4 = this.cfg_info4.layer_field4;
		this.cfg_info4_layer_field5 = this.cfg_info4.layer_field5;
      this.cfg_info5 = ral_reg_REG_PRJ_sys_cfg_cfg_info5::type_id::create("cfg_info5",,get_full_name());
      this.cfg_info5.configure(this, null, "");
      this.cfg_info5.build();
      this.default_map.add_reg(this.cfg_info5, `UVM_REG_ADDR_WIDTH'h18, "RW", 0);
		this.cfg_info5_layer_field0 = this.cfg_info5.layer_field0;
		this.cfg_info5_layer_field1 = this.cfg_info5.layer_field1;
		this.cfg_info5_layer_field2 = this.cfg_info5.layer_field2;
		this.cfg_info5_layer_field3 = this.cfg_info5.layer_field3;
		this.cfg_info5_layer_field4 = this.cfg_info5.layer_field4;
		this.cfg_info5_layer_field5 = this.cfg_info5.layer_field5;
      this.cfg_info6 = ral_reg_REG_PRJ_sys_cfg_cfg_info6::type_id::create("cfg_info6",,get_full_name());
      this.cfg_info6.configure(this, null, "");
      this.cfg_info6.build();
      this.default_map.add_reg(this.cfg_info6, `UVM_REG_ADDR_WIDTH'h1C, "RW", 0);
		this.cfg_info6_layer_field0 = this.cfg_info6.layer_field0;
		this.cfg_info6_layer_field1 = this.cfg_info6.layer_field1;
		this.cfg_info6_layer_field2 = this.cfg_info6.layer_field2;
		this.cfg_info6_layer_field3 = this.cfg_info6.layer_field3;
		this.cfg_info6_layer_field4 = this.cfg_info6.layer_field4;
		this.cfg_info6_layer_field5 = this.cfg_info6.layer_field5;
      this.cfg_info7 = ral_reg_REG_PRJ_sys_cfg_cfg_info7::type_id::create("cfg_info7",,get_full_name());
      this.cfg_info7.configure(this, null, "");
      this.cfg_info7.build();
      this.default_map.add_reg(this.cfg_info7, `UVM_REG_ADDR_WIDTH'h20, "RW", 0);
		this.cfg_info7_layer_field0 = this.cfg_info7.layer_field0;
		this.cfg_info7_layer_field1 = this.cfg_info7.layer_field1;
		this.cfg_info7_layer_field2 = this.cfg_info7.layer_field2;
		this.cfg_info7_layer_field3 = this.cfg_info7.layer_field3;
		this.cfg_info7_layer_field4 = this.cfg_info7.layer_field4;
		this.cfg_info7_layer_field5 = this.cfg_info7.layer_field5;
      this.cal_config = ral_reg_REG_PRJ_sys_cfg_cal_config::type_id::create("cal_config",,get_full_name());
      this.cal_config.configure(this, null, "");
      this.cal_config.build();
      this.default_map.add_reg(this.cal_config, `UVM_REG_ADDR_WIDTH'h100, "RW", 0);
		this.cal_config_cal_mode = this.cal_config.cal_mode;
		this.cal_mode = this.cal_config.cal_mode;
		this.cal_config_cal_round = this.cal_config.cal_round;
		this.cal_round = this.cal_config.cal_round;
		this.cal_config_cvt_mode = this.cal_config.cvt_mode;
		this.cvt_mode = this.cal_config.cvt_mode;
   endfunction : build

	`uvm_object_utils(ral_block_REG_PRJ_sys_cfg)

endclass : ral_block_REG_PRJ_sys_cfg



`endif
